// 2025.04.17 16:36:36 星期四 晴 昨天 夜里 想了 一晚上 的  剧情 早上兴致勃勃 的 发给吕游
// 告知我 没有关注 发不了 当时 脾气 就上来了
// 指责 拉黑 什么时候 轮得到你？ 连个畜生 都不如

import { create_staticCssTxt_mana } from '../../../global/element/css/setStaticCsstxt';
import {
  endsTimeAnimation,
  settimeNth,
} from '../../../global/Func/uniFunc/Func';
import { element_remove_anima } from './Classes/cla_element_remove_anima';
import {
  staticCss_element_remove_id_prefix,
  staticCss_element_remove_space,
} from './DataDefine/sourceData';

/**
 * static css 管理
 * element remove
 */
const StaticCss_element_remove = create_staticCssTxt_mana(
  staticCss_element_remove_space
);

/**
 * 移除 元素 应用 移出 动画
 * @param {HTMLElement} elt
 */
function element_remove(elt, cb) {
  let element_remove_obj = new element_remove_anima(elt);

  // 创建 对应消失 方向的 css
  StaticCss_element_remove.setStaticCssTxt(
    staticCss_element_remove_id_prefix + elt.id,
    element_remove_obj.calculate_staticCss()
  );

  // 应用动画
  requestAnimationFrame(() => {
    let delay = endsTimeAnimation(elt, element_remove_obj.remove_anima_cla);
    settimeNth(delay, () => {
      // 在 动画 结束后 删除 元素
      elt.remove();
      cb();
    });
  });
}

export { element_remove };
